﻿using MintCyclingService.alipay;
using MintCyclingService.Utils;

namespace MintCyclingService.WeixinApliay
{
    /// <summary>
    /// 微信支付接口类
    /// </summary>
    public interface IWeixinAlipayTradeService
    {
        /// <summary>
        /// 商户系统先调用该接口在微信支付服务后台生成预支付交易单，返回正确的预支付交易回话标识后再在APP里面调起支付
        /// 商户发起生成预付单请求
        /// URL地址：https://api.mch.weixin.qq.com/pay/unifiedorder
        /// </summary>
        /// <returns></returns>
        ResultModel GetWeiXinTradeAppPay(WeixinAlipayTradeModel para);

        /// <summary>
        /// 微信支付结果通用通知
        /// </summary>
        void ProcessNotify();

        /// <summary>
        /// 查询是否修改订单状态成功
        /// </summary>
        /// <param name="para"></param>
        /// <returns></returns>
        ResultModel GetRechargeStatusByUserInfoGuid(WeixinIsSuccessOrFail para);

        /// <summary>
        /// 微信退款申请
        /// </summary>
        /// <param name="agrs">申请参数</param>
        /// <returns>返回 ResultModel</returns>
        ResultModel WeixinRefund(UserDepositRefundModel agrs);

    }




}